package com.gopay.common.domain.gsrt;
// Generated 2016-1-16 17:20:08 by Hibernate Tools 4.3.1.Final

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Entity: 投标
 */
@Entity
@Table(name = "GSRT_CUST_BID")
public class GsrtCustBid implements java.io.Serializable {

    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/** 
     * 投资ID
     */
    private Long id;

    /** 
     * 商户订单号
     */
    private String merOrderId;

    /** 
     * 商户id
     */
    private String merCustId;

    /** 
     * 标的号
     */
    private String bidNo;

    /** 
     * 商户提交时间
     */
    private Date merTxnTm;

    /** 
     * 手续费承担方-------1：P2P商户平台
    2：P2P专属账户
    
     */
    private String feePayer;

    /** 
     * 投标类型      01：网贷专用账户投标
     */
    private String bidType;

    /** 
     * 投资方协议号  ---------签约协议号
     */
    private String constracterId;

    /** 
     * 投资金额
     */
    private BigDecimal merTxnAmt;

    /** 
     * 用户支付金额
     */
    private BigDecimal userTranAmt;

    /** 
     * 平台支付金额
     */
    private BigDecimal terracePayAmt;

    /** 
     * 交易状态
     */
    private Integer txnStaCd;

    /** 
     * 手续费
     */
    private BigDecimal totalOrderFeeAmt;

    /** 
     * 用户付款方客户ID
     */
    private String payCustId;

    /** 
     * 主收款方客户ID
     */
    private String mainRecvCustId;

    /** 
     * 用户付款方账户
     */
    private String payAcct;
    
    /** 
     * 用户付款方账户
     */
    private String terracePayAcct;

    /** 
     * 主收款方账户
     */
    private String mainRecvAcct;

    /** 
     * 国付宝交易时间
     */
    private Date gopayTxnTm;

    /** 
     * 国付宝订单号
     */
    private String gopayOrderId;

    /** 
     * 交易原因
     */
    private String commentRk;

    /** 
     * 创建时间
     */
    private Date createdTs;

    /** 
     * 记录最后修改时间
     */
    private Date lastUpdTs;

    /** 
     * 备注
     */
    private String remark;

    /** 
     * 预留字段3
     */
    private String remark3;

    /** 
     * 预留字段2
     */
    private String remark2;

    /** 
     * 乐观锁版本号
     */
    private Long version;
    
    /** 
     * 网关交易流水号
     */
    private Long transDtlSq;
    

    
 /**
  *  交易来源  09:PC ,  10:wap
  */
    private String gatewaySource;


    /** 
	 * 交易处理完成时间
	 */
    private Date tranFinishTime;
    
    public GsrtCustBid() {
    }

   




	public GsrtCustBid(Long id, String merOrderId, String merCustId,
			String bidNo, Date merTxnTm, String feePayer, String bidType,
			String constracterId, BigDecimal merTxnAmt, BigDecimal userTranAmt,
			BigDecimal terracePayAmt, Integer txnStaCd,
			BigDecimal totalOrderFeeAmt, String payCustId,
			String mainRecvCustId, String payAcct, String terracePayAcct,
			String mainRecvAcct, Date gopayTxnTm, String gopayOrderId,
			String commentRk, Date createdTs, Date lastUpdTs, String remark,
			String remark3, String remark2, Long version, Long transDtlSq,
			String gatewaySource, Date tranFinishTime) {
		super();
		this.id = id;
		this.merOrderId = merOrderId;
		this.merCustId = merCustId;
		this.bidNo = bidNo;
		this.merTxnTm = merTxnTm;
		this.feePayer = feePayer;
		this.bidType = bidType;
		this.constracterId = constracterId;
		this.merTxnAmt = merTxnAmt;
		this.userTranAmt = userTranAmt;
		this.terracePayAmt = terracePayAmt;
		this.txnStaCd = txnStaCd;
		this.totalOrderFeeAmt = totalOrderFeeAmt;
		this.payCustId = payCustId;
		this.mainRecvCustId = mainRecvCustId;
		this.payAcct = payAcct;
		this.terracePayAcct = terracePayAcct;
		this.mainRecvAcct = mainRecvAcct;
		this.gopayTxnTm = gopayTxnTm;
		this.gopayOrderId = gopayOrderId;
		this.commentRk = commentRk;
		this.createdTs = createdTs;
		this.lastUpdTs = lastUpdTs;
		this.remark = remark;
		this.remark3 = remark3;
		this.remark2 = remark2;
		this.version = version;
		this.transDtlSq = transDtlSq;
		this.gatewaySource = gatewaySource;
		this.tranFinishTime = tranFinishTime;
	}






	@Id
    @SequenceGenerator(name = "GsrtCustBidSequence", sequenceName = "GSRT_CUST_BID_SEQ")
    @GeneratedValue(generator = "GsrtCustBidSequence", strategy = GenerationType.SEQUENCE)
    @Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0)
    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(name = "MER_ORDER_ID", nullable = false, length = 30)
    public String getMerOrderId() {
        return this.merOrderId;
    }

    public void setMerOrderId(String merOrderId) {
        this.merOrderId = merOrderId;
    }

    @Column(name = "MER_CUST_ID", nullable = false, length = 10)
    public String getMerCustId() {
        return this.merCustId;
    }

    public void setMerCustId(String merCustId) {
        this.merCustId = merCustId;
    }

    @Column(name = "BID_NO", nullable = false, length = 50)
    public String getBidNo() {
        return this.bidNo;
    }

    public void setBidNo(String bidNo) {
        this.bidNo = bidNo;
    }

    @Column(name = "MER_TXN_TM", nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    public Date getMerTxnTm() {
        return this.merTxnTm;
    }

    public void setMerTxnTm(Date merTxnTm) {
        this.merTxnTm = merTxnTm;
    }

    @Column(name = "FEE_PAYER", length = 2)
    public String getFeePayer() {
        return this.feePayer;
    }

    public void setFeePayer(String feePayer) {
        this.feePayer = feePayer;
    }

    @Column(name = "BID_TYPE", nullable = false, length = 10)
    public String getBidType() {
        return this.bidType;
    }

    public void setBidType(String bidType) {
        this.bidType = bidType;
    }

    @Column(name = "CONSTRACTER_ID", nullable = false, length = 14)
    public String getConstracterId() {
        return this.constracterId;
    }

    public void setConstracterId(String constracterId) {
        this.constracterId = constracterId;
    }

    @Column(name = "MER_TXN_AMT", nullable = false, precision = 20)
    public BigDecimal getMerTxnAmt() {
        return this.merTxnAmt;
    }

    public void setMerTxnAmt(BigDecimal merTxnAmt) {
        this.merTxnAmt = merTxnAmt;
    }

    @Column(name = "USER_TRAN_AMT", nullable = false, precision = 20)
    public BigDecimal getUserTranAmt() {
        return this.userTranAmt;
    }

    public void setUserTranAmt(BigDecimal userTranAmt) {
        this.userTranAmt = userTranAmt;
    }

    @Column(name = "TERRACE_PAY_AMT", precision = 20)
    public BigDecimal getTerracePayAmt() {
        return this.terracePayAmt;
    }

    public void setTerracePayAmt(BigDecimal terracePayAmt) {
        this.terracePayAmt = terracePayAmt;
    }

    @Column(name = "TXN_STA_CD", nullable = false, precision = 5, scale = 0)
    public Integer getTxnStaCd() {
        return this.txnStaCd;
    }

    public void setTxnStaCd(Integer txnStaCd) {
        this.txnStaCd = txnStaCd;
    }

    @Column(name = "TOTAL_ORDER_FEE_AMT", precision = 20)
    public BigDecimal getTotalOrderFeeAmt() {
        return this.totalOrderFeeAmt;
    }

    public void setTotalOrderFeeAmt(BigDecimal totalOrderFeeAmt) {
        this.totalOrderFeeAmt = totalOrderFeeAmt;
    }

    @Column(name = "PAY_CUST_ID", length = 10)
    public String getPayCustId() {
        return this.payCustId;
    }

    public void setPayCustId(String payCustId) {
        this.payCustId = payCustId;
    }

    @Column(name = "MAIN_RECV_CUST_ID",  length = 10)
    public String getMainRecvCustId() {
        return this.mainRecvCustId;
    }

    public void setMainRecvCustId(String mainRecvCustId) {
        this.mainRecvCustId = mainRecvCustId;
    }

    @Column(name = "PAY_ACCT", length = 19)
    public String getPayAcct() {
        return this.payAcct;
    }

    public void setPayAcct(String payAcct) {
        this.payAcct = payAcct;
    }
    @Column(name = "TERRACE_PAY_ACCT", length = 19)
    public String getTerracePayAcct() {
		return terracePayAcct;
	}
    
	public void setTerracePayAcct(String terracePayAcct) {
		this.terracePayAcct = terracePayAcct;
	}
	@Column(name = "MAIN_RECV_ACCT", length = 19)
    public String getMainRecvAcct() {
        return this.mainRecvAcct;
    }

    public void setMainRecvAcct(String mainRecvAcct) {
        this.mainRecvAcct = mainRecvAcct;
    }

    @Column(name = "GOPAY_TXN_TM")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getGopayTxnTm() {
        return this.gopayTxnTm;
    }

    public void setGopayTxnTm(Date gopayTxnTm) {
        this.gopayTxnTm = gopayTxnTm;
    }

    @Column(name = "GOPAY_ORDER_ID",  length = 30)
    public String getGopayOrderId() {
        return this.gopayOrderId;
    }

    public void setGopayOrderId(String gopayOrderId) {
        this.gopayOrderId = gopayOrderId;
    }

    @Column(name = "COMMENT_RK", length = 50)
    public String getCommentRk() {
        return this.commentRk;
    }

    public void setCommentRk(String commentRk) {
        this.commentRk = commentRk;
    }

    @Column(name = "CREATED_TS")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getCreatedTs() {
        return this.createdTs;
    }

    public void setCreatedTs(Date createdTs) {
        this.createdTs = createdTs;
    }

    @Column(name = "LAST_UPD_TS")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getLastUpdTs() {
        return this.lastUpdTs;
    }

    public void setLastUpdTs(Date lastUpdTs) {
        this.lastUpdTs = lastUpdTs;
    }

    @Column(name = "REMARK", length = 90)
    public String getRemark() {
        return this.remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Column(name = "REMARK3", length = 50)
    public String getRemark3() {
        return this.remark3;
    }

    public void setRemark3(String remark3) {
        this.remark3 = remark3;
    }

    @Column(name = "REMARK2", length = 50)
    public String getRemark2() {
        return this.remark2;
    }

    public void setRemark2(String remark2) {
        this.remark2 = remark2;
    }

    @Column(name = "VERSION", precision = 22, scale = 0)
    public Long getVersion() {
        return this.version;
    }

    public void setVersion(Long version) {
        this.version = version;
    }
   

	@Column(name = "TRANS_DTL_SQ", precision = 22, scale = 0)
	public Long getTransDtlSq() {
		return transDtlSq;
	}
	

	public void setTransDtlSq(Long transDtlSq) {
		this.transDtlSq = transDtlSq;
	}
	
	
	@Column(name = "GATEWAY_SOURCE", precision = 2, scale = 0)
	public String getGatewaySource() {
		return gatewaySource;
	}

	public void setGatewaySource(String gatewaySource) {
		this.gatewaySource = gatewaySource;
	}


	@Column(name = "TRAN_FINISH_TIME")
	@Temporal(TemporalType.TIMESTAMP)
	public Date getTranFinishTime() {
		return this.tranFinishTime;
	}

	public void setTranFinishTime(Date tranFinishTime) {
		this.tranFinishTime = tranFinishTime;
	}
	

    
}
